package cn.edu.zafu.bigdata.smj;

import java.util.Arrays;
import java.util.List;

public class MaxFinder {

    // 泛型方法，返回列表中的最大元素
    public static <T extends Comparable<T>> T findMax(List<T> list) {
        if (list == null || list.isEmpty()) {
            throw new IllegalArgumentException("List must not be null or empty");
        }
        T max = list.get(0);
        for (T item : list) {
            if (item.compareTo(max) > 0) {
                max = item;
            }
        }
        return max;
    }

    // 测试类
    public static void main(String[] args) {
        // 创建一个包含整数的列表
        List<Integer> intList = Arrays.asList(3, 5, 1, 9, 2);
        // 创建一个包含字符串的列表
        List<String> stringList = Arrays.asList("apple", "banana", "cherry", "date");

        // 使用findMax方法查找最大值
        Integer maxInt = findMax(intList);
        String maxString = findMax(stringList);

        // 打印结果
        System.out.println("Maximum integer: " + maxInt);
        System.out.println("Maximum string: " + maxString);
    }
}